package com.ruoyi.workflow.service;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.workflow.domain.CarPackageAudit;
import com.ruoyi.workflow.domain.ServiceItem;

/**
 * 套餐信息Service接口
 * 
 * @author xiaodu
 * @date 2023-06-30
 */
public interface ICarPackageAuditService extends IService<CarPackageAudit>
{

    /**
     * 查询套餐信息列表
     * 
     * @param carPackageAudit 套餐信息
     * @return 套餐信息集合
     */
    public List<CarPackageAudit> selectCarPackageAuditList(CarPackageAudit carPackageAudit);


    /**
     * 根据流程实例查询流程进度
     * @param id 流程实例ID
     * @return
     */
    InputStream readProcessImg(Long id);

    /**
     * 撤销审核流程
     * @param id 注解id
     * @param reason 撤销审核原因
     * @return
     */
    void cancelProcess(Long id,String reason);

    /**
     * 审批历史
     * @param instanceId 流程实例
     * @return
     */
    List<Map<String, Object>> historyProcess(String instanceId);

    /**
     * 修改套餐审核表单 -- 套餐信息
     * @param serviceItem 封装申请的数据
     * @param auditId 套餐信息的ID
     * @return
     */
    void updateFormCarPackageAudit(ServiceItem serviceItem, Long auditId);
}
